package com.gitee.qdbp.general.trade.api.order.main.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 订单明细更新类
 *
 * @author zhh
 * @version 180626
 */
@OperateTraces(target = "where")
@DataIsolation(target = "where")
public class OrderItemUpdate extends OrderItemBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 商家租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 消费者用户ID是否更新为空值 **/
    private Boolean userIdToNull;

    /** 订单ID是否更新为空值 **/
    private Boolean orderIdToNull;

    /** 订单类型(0.捐款订单|1.商品订单)是否更新为空值 **/
    private Boolean orderTypeToNull;

    /** 关联业务ID是否更新为空值 **/
    private Boolean dataIdToNull;

    /** 商品唯一ID是否更新为空值 **/
    private Boolean goodsUidToNull;

    /** 商品版本ID是否更新为空值 **/
    private Boolean goodsVidToNull;

    /** 单品ID是否更新为空值 **/
    private Boolean skuIdToNull;

    /** 品牌ID是否更新为空值 **/
    private Boolean brandCodeToNull;

    /** 型号是否更新为空值 **/
    private Boolean modelNumberToNull;

    /** 商品分类编号是否更新为空值 **/
    private Boolean categoryCodeToNull;

    /** 商品名称是否更新为空值 **/
    private Boolean goodsNameToNull;

    /** 商品标题是否更新为空值 **/
    private Boolean goodsTitleToNull;

    /** 商品单位(个/件/台/袋等)是否更新为空值 **/
    private Boolean goodsUnitToNull;

    /** 商品价格是否更新为空值 **/
    private Boolean goodsPriceToNull;
    /** 商品价格的增加值 **/
    private Double goodsPriceAdd;

    /** 购买数量是否更新为空值 **/
    private Boolean quantityToNull;
    /** 购买数量的增加值 **/
    private Integer quantityAdd;

    /** 折扣金额是否更新为空值 **/
    private Boolean discountAmountToNull;
    /** 折扣金额的增加值 **/
    private Double discountAmountAdd;

    /** 商品金额=商品价格*数量-折扣是否更新为空值 **/
    private Boolean goodsAmountToNull;
    /** 商品金额=商品价格*数量-折扣的增加值 **/
    private Double goodsAmountAdd;

    /** 规格描述: 如颜色:红/尺码:M; 颜色:红/尺码:L; ...是否更新为空值 **/
    private Boolean specificTextToNull;

    /** 预览图片是否更新为空值 **/
    private Boolean previewImageToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 更新操作的条件 **/
    private OrderItemWhere where;

    /** 判断商家租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /**
     * 设置商家租户编号是否更新为空值
     *
     * @param tenantCodeToNull 商家租户编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断消费者用户ID是否更新为空值 **/
    public Boolean isUserIdToNull() {
        return userIdToNull;
    }

    /**
     * 设置消费者用户ID是否更新为空值
     *
     * @param userIdToNull 消费者用户ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUserIdToNull(Boolean userIdToNull) {
        this.userIdToNull = userIdToNull;
    }

    /** 判断订单ID是否更新为空值 **/
    public Boolean isOrderIdToNull() {
        return orderIdToNull;
    }

    /**
     * 设置订单ID是否更新为空值
     *
     * @param orderIdToNull 订单ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderIdToNull(Boolean orderIdToNull) {
        this.orderIdToNull = orderIdToNull;
    }

    /** 判断订单类型(0.捐款订单|1.商品订单)是否更新为空值 **/
    public Boolean isOrderTypeToNull() {
        return orderTypeToNull;
    }

    /**
     * 设置订单类型(0.捐款订单|1.商品订单)是否更新为空值
     *
     * @param orderTypeToNull 订单类型(0.捐款订单|1.商品订单)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderTypeToNull(Boolean orderTypeToNull) {
        this.orderTypeToNull = orderTypeToNull;
    }

    /** 判断关联业务ID是否更新为空值 **/
    public Boolean isDataIdToNull() {
        return dataIdToNull;
    }

    /** 设置关联业务ID是否更新为空值 **/
    public void setDataIdToNull(Boolean dataIdToNull) {
        this.dataIdToNull = dataIdToNull;
    }

    /** 判断商品唯一ID是否更新为空值 **/
    public Boolean isGoodsUidToNull() {
        return goodsUidToNull;
    }

    /** 设置商品唯一ID是否更新为空值 **/
    public void setGoodsUidToNull(Boolean goodsUidToNull) {
        this.goodsUidToNull = goodsUidToNull;
    }

    /** 判断商品版本ID是否更新为空值 **/
    public Boolean isGoodsVidToNull() {
        return goodsVidToNull;
    }

    /** 设置商品版本ID是否更新为空值 **/
    public void setGoodsVidToNull(Boolean goodsVidToNull) {
        this.goodsVidToNull = goodsVidToNull;
    }

    /** 判断单品ID是否更新为空值 **/
    public Boolean isSkuIdToNull() {
        return skuIdToNull;
    }

    /** 设置单品ID是否更新为空值 **/
    public void setSkuIdToNull(Boolean skuIdToNull) {
        this.skuIdToNull = skuIdToNull;
    }

    /** 判断品牌ID是否更新为空值 **/
    public Boolean isBrandCodeToNull() {
        return brandCodeToNull;
    }

    /** 设置品牌ID是否更新为空值 **/
    public void setBrandCodeToNull(Boolean brandCodeToNull) {
        this.brandCodeToNull = brandCodeToNull;
    }

    /** 判断型号是否更新为空值 **/
    public Boolean isModelNumberToNull() {
        return modelNumberToNull;
    }

    /** 设置型号是否更新为空值 **/
    public void setModelNumberToNull(Boolean modelNumberToNull) {
        this.modelNumberToNull = modelNumberToNull;
    }

    /** 判断商品分类编号是否更新为空值 **/
    public Boolean isCategoryCodeToNull() {
        return categoryCodeToNull;
    }

    /**
     * 设置商品分类编号是否更新为空值
     *
     * @param categoryCodeToNull 商品分类编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setCategoryCodeToNull(Boolean categoryCodeToNull) {
        this.categoryCodeToNull = categoryCodeToNull;
    }

    /** 判断商品名称是否更新为空值 **/
    public Boolean isGoodsNameToNull() {
        return goodsNameToNull;
    }

    /** 设置商品名称是否更新为空值 **/
    public void setGoodsNameToNull(Boolean goodsNameToNull) {
        this.goodsNameToNull = goodsNameToNull;
    }

    /** 判断商品标题是否更新为空值 **/
    public Boolean isGoodsTitleToNull() {
        return goodsTitleToNull;
    }

    /** 设置商品标题是否更新为空值 **/
    public void setGoodsTitleToNull(Boolean goodsTitleToNull) {
        this.goodsTitleToNull = goodsTitleToNull;
    }

    /** 判断商品单位(个/件/台/袋等)是否更新为空值 **/
    public Boolean isGoodsUnitToNull() {
        return goodsUnitToNull;
    }

    /** 设置商品单位(个/件/台/袋等)是否更新为空值 **/
    public void setGoodsUnitToNull(Boolean goodsUnitToNull) {
        this.goodsUnitToNull = goodsUnitToNull;
    }

    /** 判断商品价格是否更新为空值 **/
    public Boolean isGoodsPriceToNull() {
        return goodsPriceToNull;
    }

    /**
     * 设置商品价格是否更新为空值
     *
     * @param goodsPriceToNull 商品价格是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setGoodsPriceToNull(Boolean goodsPriceToNull) {
        this.goodsPriceToNull = goodsPriceToNull;
    }

    /** 获取商品价格的增加值 **/
    public Double getGoodsPriceAdd() {
        return goodsPriceAdd;
    }

    /** 设置商品价格的增加值 **/
    public void setGoodsPriceAdd(Double goodsPriceAdd) {
        this.goodsPriceAdd = goodsPriceAdd;
    }

    /** 判断购买数量是否更新为空值 **/
    public Boolean isQuantityToNull() {
        return quantityToNull;
    }

    /** 设置购买数量是否更新为空值 **/
    public void setQuantityToNull(Boolean quantityToNull) {
        this.quantityToNull = quantityToNull;
    }

    /** 获取购买数量的增加值 **/
    public Integer getQuantityAdd() {
        return quantityAdd;
    }

    /** 设置购买数量的增加值 **/
    public void setQuantityAdd(Integer quantityAdd) {
        this.quantityAdd = quantityAdd;
    }

    /** 判断折扣金额是否更新为空值 **/
    public Boolean isDiscountAmountToNull() {
        return discountAmountToNull;
    }

    /**
     * 设置折扣金额是否更新为空值
     *
     * @param discountAmountToNull 折扣金额是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDiscountAmountToNull(Boolean discountAmountToNull) {
        this.discountAmountToNull = discountAmountToNull;
    }

    /** 获取折扣金额的增加值 **/
    public Double getDiscountAmountAdd() {
        return discountAmountAdd;
    }

    /** 设置折扣金额的增加值 **/
    public void setDiscountAmountAdd(Double discountAmountAdd) {
        this.discountAmountAdd = discountAmountAdd;
    }

    /** 判断商品金额=商品价格*数量-折扣是否更新为空值 **/
    public Boolean isGoodsAmountToNull() {
        return goodsAmountToNull;
    }

    /**
     * 设置商品金额=商品价格*数量-折扣是否更新为空值
     *
     * @param goodsAmountToNull 商品金额=商品价格*数量-折扣是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setGoodsAmountToNull(Boolean goodsAmountToNull) {
        this.goodsAmountToNull = goodsAmountToNull;
    }

    /** 获取商品金额=商品价格*数量-折扣的增加值 **/
    public Double getGoodsAmountAdd() {
        return goodsAmountAdd;
    }

    /** 设置商品金额=商品价格*数量-折扣的增加值 **/
    public void setGoodsAmountAdd(Double goodsAmountAdd) {
        this.goodsAmountAdd = goodsAmountAdd;
    }

    /** 判断规格描述: 如颜色:红/尺码:M; 颜色:红/尺码:L; ...是否更新为空值 **/
    public Boolean isSpecificTextToNull() {
        return specificTextToNull;
    }

    /** 设置规格描述: 如颜色:红/尺码:M; 颜色:红/尺码:L; ...是否更新为空值 **/
    public void setSpecificTextToNull(Boolean specificTextToNull) {
        this.specificTextToNull = specificTextToNull;
    }

    /** 判断预览图片是否更新为空值 **/
    public Boolean isPreviewImageToNull() {
        return previewImageToNull;
    }

    /** 设置预览图片是否更新为空值 **/
    public void setPreviewImageToNull(Boolean previewImageToNull) {
        this.previewImageToNull = previewImageToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 获取更新操作的条件 **/
    public OrderItemWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public OrderItemWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new OrderItemWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(OrderItemWhere where) {
        this.where = where;
    }
}